#ifndef INPUT_H
#define INPUT_H
#include "ntk_vs.h";
#include "onafhankelijkeData.h";
/*
--------------------------structs en types--------------------------
*/
//de data wat in de sensorOutput terecht zal komen.
struct SensorUitvoer{
	Actie actie; //de te ondernemen actie
	int snelheid; //de huidige snelheid
};
typedef struct SensorUitvoer SensorUitvoer;

//de struct van de sensoren welke meegegeven dient te worden aan alle opdrachten.
struct sensor{
	task* taak; //de taak waarop de sensor werkt
	mailBox sensorInput; //de input van het form
	mailBox sensorOutput; //de output van de sensor
	event dataOpInvoer; //de data staat klaar op uitdata
	int gasOud,remOud,koppelingOud; //de standen van de pedalen, hoe hoger hoe dieper ingedrukt het pedaal is
	SensorUitvoer uitdata; //de data die de sensor uitgeeft
};
typedef struct sensor sensor;

/*
--------------------------Methodes en functies--------------------------
*/
//geeft de mailbox waarop input wordt ontvange terug
mailBox* GiveInput(sensor *sens);
//Deze methode zorgt voor het initialiseren van alle attributen binnen de sensor
void sensorInit(sensor *sens);
//Dit is de taak van de sensor. Deze dient handmatig gestart te worden.
unsigned __stdcall inputStart(void* arg);
//Deze methode handelt de verwijdering van de sensor attributen af
void sensorDelete(sensor *sens);
#endif